home *** CD-ROM | disk | FTP | other *** search
/ ADA Programming Guide / ADA Programming Guide.iso / adatutor / c01crs.sid < prev    next >
Text File  |  1996-01-30  |  13KB  |  235 lines

  1. --= SID = SIMTEL20 Ada Software Repository Item Description File = SID =--
  2. -- UNIT NAME         : SE, OOD, and OOP Courseware
  3. -- VERSION           : 1.0
  4. -- REVIEW CODE       : NR
  5. -- DDN ADDRESS       : hcarter@vlsisun.ece.uc.edu, rconn@vlsisun.ece.uc.edu
  6. -- AUTHOR            : Harold Carter, Richard Conn
  7. --                   : Department of Electrical and Computer Engineering
  8. --                   : University of Cincinnati
  9. --                   : Mail Location 30
  10. --                   : Cincinnati, Ohio  45221-0030
  11. --                   : 513/556-4781 (Harold Carter, work)
  12. -- RIGHTS            : PUBLIC DOMAIN
  13. -- COPYRIGHT         : None
  14. -- DATE CREATED      : August, 1992
  15. -- DATE RELEASED     : 6 May 1993
  16. -- DATE LAST UPDATED : 6 May 1993
  17. -- LOCATION          : ASR and mirror sites
  18. -- LOCATION          : ASSET
  19. -- ENVIRONMENT       : DEC VAX/VMS, DEC Ada
  20. -- ENVIRONMENT       : Sun SunOS 4.x, Alsys Ada
  21. -- ENVIRONMENT       : Sun SunOS 4.x, Sun/Verdix Ada
  22. -- ENVIROMENT        : PC, MSDOS 3.3 or greater, Alsys Ada
  23. -- LIMITATIONS       : None
  24. --= CLASSIFICATION       ===============================================--
  25. -- CATEGORY LEVEL 1  : COURSEWARE
  26. -- CATEGORY LEVEL 2  : SOFTWARE ENGINEERING, OOD, OOP
  27. -- CATEGORY LEVEL 3  : UNIVERSITY OF CINCINNATI
  28. -- CATEGORY LEVEL 4  : 
  29. -- KEYWORD           : 
  30. -- INDEX             : Software Engineering with Ada Course
  31. -- INDEX             : Software Engineering Lab Course
  32. -- INDEX             : Object-Oriented Design Course
  33. -- INDEX             : Object-Oriented Programming Course
  34. -- INDEX             : Ada
  35. -- INDEX             : C++
  36. -- DEPENDENCIES      : None
  37. -- SEE ALSO          : MANIFEST.TXT in C01RDME.ZIP
  38. -- SHORT DESCRIPTION : Courseware on Software Engineering, OOD, OOP
  39. --= FILE LISTING         ===============================================--
  40. -- FILE SPECS        : PD:<MSDOS.ADA>C01*.ZIP
  41. -- DIRECTORY DISPLAY :
  42. -- Directory   PD:<MSDOS.ADA>
  43. --      File Name      Bytes    Lines 
  44. --   ---------------  --------  ------
  45. --   C01LAB1.ZIP        451682  Binary
  46. --   C01LAB2.ZIP        217031  Binary
  47. --   C01LAB3.ZIP       1310460  Binary
  48. --   C01LAB4.ZIP        780422  Binary
  49. --   C01LAB5.ZIP        230581  Binary
  50. --   C01LAB6.ZIP         20017  Binary
  51. --   C01OOD.ZIP         343619  Binary
  52. --   C01OOP.ZIP         337197  Binary
  53. --   C01PLAB.ZIP        217400  Binary
  54. --   C01POOD.ZIP        597264  Binary
  55. --   C01POOP.ZIP        672600  Binary
  56. --   C01PSE1.ZIP        990680  Binary
  57. --   C01PSE2.ZIP        422295  Binary
  58. --   C01RDME.ZIP         26079  Binary
  59. --   C01SE.ZIP          620163  Binary
  60. --   ===============  ========  ======
  61. --    15 Files         7237490       0
  62. --= ABSTRACT             ===============================================--
  63. -- INTRODUCTION
  64. -- 
  65. -- This courseware consists of three courses: Software Engineering with Ada
  66. -- (including a Lab), Object-Oriented Design, and Object-Oriented
  67. -- Programming with Ada and C++.  These courses are designed to be taught
  68. -- as a sequence: Software Engineering with Ada, Object-Oriented Design,
  69. -- and Object-Oriented Programming with Ada and C++.
  70. -- 
  71. -- See the file MANIFEST.TXT in C01RDME.ZIP for a detailed description of
  72. -- all documents and code provided with each course.  See the C01RDME.ZIP
  73. -- file for other useful introductory material as well.
  74. -- 
  75. -- Texts for these courses are:
  76. --   Software Engineering: "Software Engineering: A Practitioner's Approach,
  77. -- 3rd Edition" by Roger S. Pressman, McGraw-Hill, 1992, ISBN 0-07-050814-3.
  78. --   Software Engineering (optional): "Rendezvous with Ada: A Programmer's
  79. -- Introduction" by David J. Naiditch, Wiley, 1989, ISBN 0-471-61654-0.
  80. --   Object-Oriented Design and Programming: "Object-Oriented Design with
  81. -- Applications" by Grady Booch, Benjamin/Cummings, 1991, ISBN 0-8053-0091-0.
  82. -- 
  83. -- All documents are provided in two formats: the original word processor
  84. -- format (to facilitate editing and tailoring as desired) and Postscript.
  85. -- The following tools are required to edit all the documents:
  86. --   1. Microsoft Word for Windows 2.0
  87. --   2. Microsoft Powerpoint 3.0
  88. --   3. Interleaf 5.0
  89. -- 
  90. -- All courseware (documents, code, etc) is provided in *.ZIP files. These
  91. -- files can be unpacked (each in its own directory) by using PkWare's
  92. -- PKZIP/PKUNZIP 1.1 or equivalent (Info-ZIP's zip and unzip also work).
  93. -- 
  94. -- A validated Ada83 compiler is required to compile the Ada source code.
  95. -- We have successfully compiled and run/used all provided Ada source code
  96. -- on a Sun using Sun Ada/Verdix Ada, on a Sun using Alsys Ada, on a PC
  97. -- using Alsys Ada, and on a DEC VAX/VMS using DEC Ada.  We suspect that
  98. -- the code should be transportable to other validated Ada compilers as
  99. -- well.
  100. -- 
  101. -- COURSE 1. SOFTWARE ENGINEERING WITH ADA
  102. -- 
  103. -- Software Engineering with Ada (which includes a Lab) is an introductory
  104. -- course in software engineering.  It covers the following principal
  105. -- topics: an introduction to the concept of software engineering, software
  106. -- project planning, software requirements analysis, software design and
  107. -- software design methodologies, coding, testing, and delivery and
  108. -- maintenance. There is a heavy emphasis in the Ada programming language
  109. -- and how it supports various aspects of the development of an engineered
  110. -- software system.
  111. -- 
  112. -- The laboratory portion of the course reinforces the lecture by making
  113. -- the students, as 2-3 person teams, prepare a software development plan,
  114. -- a software requriements specification, a software design document, a
  115. -- software user's manual, and IV&V reports. Templates, based on
  116. -- DoD-STD-2167A DIDs, are provided to facilitate the creation of these
  117. -- documents.
  118. -- 
  119. -- Five student projects are included, and three of these projects are
  120. -- oriented to making the students design software which interacts with a
  121. -- system simulator.  Three working system simulators, written in Ada, are
  122. -- included: a spacecraft monitoring simulation, an automobile simulation,
  123. -- and a buoy simulation.
  124. -- 
  125. -- The student projects are supported by a reusable components library,
  126. -- called CS Parts, as well as the three simulators.  CS Parts contains a
  127. -- large number of basic components, such as a math package, linked list
  128. -- packages, string manipulation packages, and more advanced components,
  129. -- such as a VT100 interface and a report generator.  On the average,
  130. -- students find that approximately 85% of the code in their problem
  131. -- solutions is reused from CS Parts.  Such a high level of reuse greatly
  132. -- speeds project development, making it practical for a student team to
  133. -- generate all the required documents and working code in a 10-week lab
  134. -- period.
  135. -- 
  136. -- Since this is a software engineering course, it is not desired to take
  137. -- much time to teach the Ada language itself.  Three aids are provided to
  138. -- assist the students not proficient in Ada to learn it outside of class:
  139. -- an online Ada Language Reference Manual Reader, an interactive Ada
  140. -- language tutorial, and a workbook on the Ada language which includes 24
  141. -- solved problems.
  142. -- 
  143. -- An online Ada Language Reference Manual Reader, written in Ada, is
  144. -- included as a working program, complete with a detailed Software
  145. -- Requirements Specification, Software User's Manual, and Software Design
  146. -- Document.  These documents provide models for the students to follow in
  147. -- the construction of the documents for their projects as well as food for
  148. -- discussion in class.  Additionally, the online Ada Language Reference
  149. -- Manual Reader can be used by the students, thereby eliminating the need
  150. -- for them to purchase copies of this document.  A ready-to-run executable
  151. -- of this reader for the IBM PC and its clones is included as well as the
  152. -- source code in Ada.
  153. -- 
  154. -- An interactive tutorial on the Ada language, written in Ada, is
  155. -- included. This is a shareware product and funding should be provided to
  156. -- the author should the instructor decide to use it for his class.
  157. -- 
  158. -- A workbook on the Ada language, which includes 24 short problems and
  159. -- their solutions, is included.
  160. -- 
  161. -- COURSE 2. OBJECT-ORIENTED DESIGN
  162. -- 
  163. -- The Object-Oriented Design course covers the following topics: a review
  164. -- of key concepts from Software Engineering, graphical notation used as
  165. -- a basis of communication, the object model (with emphasis on applying
  166. -- the Spiral Model of software development), and object classification.
  167. -- 
  168. -- This course is a lecture-only course.  Students are required to create
  169. -- object-oriented requirements and design documents based in part on
  170. -- DoD-STD-2167A.
  171. -- 
  172. -- COURSE 3. OBJECT-ORIENTED PROGRAMMING
  173. -- 
  174. -- The Object-Oriented Programming course covers the following topics:
  175. -- a review of key topics in Software Engineering and Object-Oriented
  176. -- Design, graphical notation, the object model, and an overview of the
  177. -- Ada and C++ languages, concentrating on the features of each.
  178. -- 
  179. -- This course is a lecture/lab course, and the lab consists of a single
  180. -- project to be solved by several 2-5 person student teams: create a
  181. -- reader for the Ada Language Reference Manual using the Spiral Model of
  182. -- software development and object-oriented techniques.  Students are
  183. -- required to create an object-oriented software requirements
  184. -- specification and software design document as well as write the code of
  185. -- the solution.  The teams are divided into two groups: one uses Ada as an
  186. -- implementation language during the first iteration of the spiral and the
  187. -- other uses C++.  Half way through the class, the teams who developed in
  188. -- Ada inherit the code and documents created by a C++ team and the teams
  189. -- who developed in C++ inherit the code and documents created by an Ada
  190. -- team.  A long discussion period is set aside at the end of the class to
  191. -- discuss lessons learned from inheriting code from others in each
  192. -- language and to compare the students' designs with the design of the Ada
  193. -- LRM Reader provided with the Software Engineering class.
  194. -- 
  195. -- An Ada workbook and a C++ workbook are included as material for this
  196. -- course. Material from the Software Engineering course may be reused for
  197. -- this course as well.
  198. -- 
  199. -- CREDITS
  200. -- 
  201. -- Development of the Software Engineering course was funded by the Ada
  202. -- Joint Program Office through DARPA/CMO 91-18 (Curriculum Development in
  203. -- Software Engineering and Ada) as announced in the 16 July 1991 issue
  204. -- of the Commerce Business Daily.  We wish to thank the AJPO and DARPA/CMO
  205. -- for their support and interest in this project.  Work was done jointly
  206. -- by Professor Harold Carter and Professor Richard Conn.
  207. -- 
  208. -- Development of the Object-Oriented Design and Object-Oriented Programming
  209. -- courses was funded by the University of Cincinnati, Department of Electrical
  210. -- and Computer Engineering.  Work was done by Professor Richard Conn.
  211. -- 
  212. -- We also wish to thank the manufacturers who worked with us to bring
  213. -- their products into the university environment for our use and the use
  214. -- of our students at a very reasonable cost.  Those manufacturers are
  215. -- Microsoft, Interleaf, PkWare, Sun, Verdix, Alsys, DEC, and John Herro.
  216. --= REVISION HISTORY     ===============================================--
  217. -- DATE         VERSION AUTHOR                       HISTORY 
  218. -- 05/06/93     1.0     Harold Carter, Richard Conn  Initial Release
  219. --= RELEASE NOTICE       ===============================================--
  220. -- This software is released to the Public Domain (note:
  221. --   software released to the Public Domain is not subject
  222. --   to copyright protection).
  223. -- Restrictions on use or distribution:  NONE; Distribution Unlimited
  224. --= DISCLAIMER           ===============================================--
  225. --     This courseware, software, and documentation are provided "AS IS"
  226. -- without any expressed or implied warranties whatsoever.  No warranties
  227. -- as to performance, merchantability, or fitness for a particular
  228. -- purpose exist.
  229. --     The user is advised to test the software thoroughly before
  230. -- relying on it.  The user must assume the entire risk and liability of
  231. -- using this software.  In no event shall any person or organization of
  232. -- people be held responsible for any direct, indirect, consequential or
  233. -- inconsequential damages or lost profits.
  234. --======================================================================--
  235.